// 1、创建koa对象
// 2、编写koa响应函数中间件
// 3、绑定端口号 3000

// 1
const Koa = require('koa')
const app = new Koa()
/**
 * 2
 * ctx 上下文，web容器 ctx.request ctx.response
 * next 下一个中间件,下一层中间件是否能够得到执行，取决于next这个函数有没有被调用
 */
// 1、计时
const resDurationMiddleWare = require('./middleware/koa_response_duration.js')
app.use(resDurationMiddleWare)
// 2、设置响应头
const resHeaderMiddleWare = require('./middleware/koa_response_header.js')
app.use(resHeaderMiddleWare)
//3、业务逻辑中间件
const resDataMiddleWare = require('./middleware/koa_response_data.js')
app.use(resDataMiddleWare)
/**
 * 3
 * 绑定端口号 8888
 */
app.listen(8888)


/**
 * 4 启动服务
 * node app.js
 */


const WebSocketService = require('./service/web_socket_service.js');
//开启服务端的监听,监听客户端的连接
WebSocketService.listen()